home *** CD-ROM | disk | FTP | other *** search
- comment *
-
- Re: DOS version compatibility with fixed disks.
-
- When one formats a fixed disk with FORMAT.COM, a boot sector is written
- on the partition that is formatted. The DOS version is written at the
- beginning of this sector in ASCII characters. This is followed by the
- BIOS parameter block that contains information about starting sector,
- cluster size and so on.
- When booting up, IBMBIO.COM reads the boot sector and decides whether
- to use the information in the boot sector's parameter block on the
- basis of the name of the DOS version it finds there. If it doesn't
- recognize the name as a legal one, it uses a standard internal table
- and ignores the parameter block's information.
- If one has made any modifications to their DOS partition's format for
- the purpose of reducing the cluster size (for example), then DOS will
- acknowledge this change.
- So far, so good. Now comes a new version of DOS. Will it recognize
- a modification to the previous DOS's partition? Maybe. . .
-
- DOS 2.0 and 2.1 both write "IBM 2.0" in their boot sectors.
- DOS 3.0, 3.1 and 3.2 write their own respective version numbers as one
- would expect.
- DOS 2.0 and 2.1 do not read the name or the parameter block.
- DOS 3.0 will accept a name of 2.0 or 3.0.
- DOS 3.1 will accept a name of 2.0 or 3.1 but not 3.0.
- DOS 3.2 will accept a name of 2.0, 3.0 or 3.2 but not 3.1.
- Apparently, someone wasn't paying attention.
-
- One cannot smoothly migrate from 3.0 to 3.1 or from 3.1 to 3.2.
- No problem going from 3.0 to 3.2.
- All DOS versions can completely corrupt the data on a disk whose format
- is misinterpreted.
-
- The patches below modify IBMBIO to accept disks formatted by preceeding
- versions. Alternatively, one may use debug.com or other utility to change
- the name in the boot sector to gain compatibility with a version or 2 but
- this presupposes that a subset of versions will be used to access the disk.
- *
- PATCH IBMBIO.COM ; VERSION 3.2
- COMMENT *
- This patches DOS 3.2 to accept boot bpb from fixed disks formatted by
- DOS 2.0, 3.0, 3.1 or 3.2 *
- 2F48
- FROM DB 26,80,3E,0A,0,'0' ;CMP ES:[000A],'0'
- DB 75,2 ;JNE TRY '2'
- DB 0EBH,8 ;JMP GET FMT FROM BOOT
- DB 26,80,3E,0A,0,'2' ;CMP ES:[000A],'2'
- DB 75,0E2 ;JNE STANDARD TABLE
-
- TO DB 26,80,3E,0A,0,'0' ;CMP ES:[000A],'0'
- DB 72,0EC ;JB STANDARD TABLE
- DB 90,90 ;NOPS
- DB 26,80,3E,0A,0,'2' ;CMP ES:[000A],'2'
- DB 77,0E2 ;JA STANDARD TABLE
- ;end of patch